﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Crosland.Automotriz.Logic.Linq;
using System.Configuration;
using DevExpress.Web.ASPxEditors;
using DevExpress.Web.ASPxGridView;
using Crosland.Automotriz.Core;
using Crosland.Automotriz.Facade.Interface;
using Crosland.Automotriz.Facade.Facade;
using Crosland.Automotriz.Logic.ControlExeption;
namespace Crosland.Automotriz.Web.Repuestos
{
    public partial class wFrmRegistroMetasActualizar : System.Web.UI.Page
    {
        private clsT_Ven_Metas_VendedorLogic vendedor = new clsT_Ven_Metas_VendedorLogic();
        private clsT_Ven_Metas_OficinaLogic oficina = new clsT_Ven_Metas_OficinaLogic();
        private string idNegocio = ConfigurationManager.AppSettings["Negocio"];

        private iFacadeRegistroMetas IfacadeMetas = new FacadeRegistroMetas();
        private int idEstado;
        private string meta;
        protected void Page_Load(object sender, EventArgs e)
        {

            idEstado = Convert.ToInt32(Session["ID_UBIC_VEND_CAB"]);
            meta = Convert.ToString(Session["des_meta"]);
            if (!IsPostBack)
            {
                ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", "JavaScript:confirmSubmitResult();", true);
                cboAnio.Value = Convert.ToInt32(DateTime.Now.Year);
                cboMes.SelectedIndex = -1;
                this.ValidaOperacion();
                this.ValidarTipoValorMeta();
            }


        }
        private void ValidaOperacion()
        {
            if (Session["Vendedor_Oficina"].ToString().ToUpper() == "VENDEDOR")
            {
                RPMetasVendedor.ClientVisible = true;
                lbltitulo.Text = "Vendedor";
                lblMeta.Text = String.Format("{0}-{1}", idEstado, meta);

                this.ListaVendedorAnioMes();
            }
            else
            {
                RPMetasOficina.ClientVisible = true;
                lbltitulo.Text = "Oficina";
                lblMeta.Text = String.Format("{0}-{1}", idEstado, meta);
                this.ListaOficinaAnioMes();
            }

        }

        
        private void ListaCanalDistribucion()
        {
            clsTd_Canal_DistribLogic clst_canal_distribucion = new clsTd_Canal_DistribLogic();
            CboCanalDistribrucion.DataSource = clst_canal_distribucion.lista();
            CboCanalDistribrucion.TextField = "DES_CANAL_DISTRIB";
            CboCanalDistribrucion.ValueField = "ID_CANAL_DISTRIB";
           CboCanalDistribrucion.DataBind();

        }


        private void ValidOperacionBtnNuevo()
        {
            if (cboMes.Text == string.Empty) { 
                lblmsj.Text = "Seleccione el mes";
                popupmsj.ShowOnPageLoad = true;
                return;
            }
            if (Session["Vendedor_Oficina"].ToString().ToUpper() == "VENDEDOR")
            {
                this.ListaCboVendedor();
                this.ListaGrupoArticulo();
                this.ListaTipoMoneda();
                if (Session["indTipoValor"].ToString().ToUpper() == "CANTIDAD")
                {
                    lblCantidadV.Text = "Cantidad:";
                    lblTipoMonedaV.ClientVisible = false;
                    cboTipoMonedaV.ClientVisible = false;
                }
                else if (Session["indTipoValor"].ToString().ToUpper() == "IMPORTE")
                {
                    lblCantidadV.Text = "Importe:";

                }
                else {
                    lblCantidadV.Text = "Cantidad:";
                    lblTipoMonedaV.ClientVisible = false;
                    cboTipoMonedaV.ClientVisible = false;
                
                }
                popupvendedor.ShowOnPageLoad = true;
            }
            else
            {
                this.ListarCboOficina();
                this.ListaGrupoArticulo();
                this.ListaTipoMoneda();
                this.ListaCanalDistribucion();
                if (Session["indTipoValor"].ToString().ToUpper() == "CANTIDAD")
                {
                    lblCantidadO.Text = "Cantidad:";
                    lblTipoMonedaO.ClientVisible = false;
                    cboTipoMonedaO.ClientVisible = false;
                }
                else if (Session["indTipoValor"].ToString().ToUpper() == "IMPORTE")
                {
                    lblCantidadO.Text = "Importe:";

                }
                else {
                    lblCantidadO.Text = "Cantidad:";
                    lblTipoMonedaO.ClientVisible = false;
                    cboTipoMonedaO.ClientVisible = false;
                }
                popupOficina.ShowOnPageLoad = true;
            }


        }

        private void ValidaOperacionBtnEliminar()
        {
            if (Session["Vendedor_Oficina"].ToString().ToUpper() == "VENDEDOR") { this.EliminarRegistroVendedor(); } else { this.EliminarRegistroOficina(); }
        }

        private void ListaVendedorAnioMes()
        {
            grdVendedor.DataSource = vendedor.filtroAnioMes(idEstado, Convert.ToString(cboAnio.Value), Convert.ToString(cboMes.Value));
            grdVendedor.DataBind();

        }

        private void ListaOficinaAnioMes()
        {
            grdOficina.DataSource = oficina.listaOficinaMetas(idEstado, Convert.ToString(cboAnio.Value), Convert.ToString(cboMes.Value));
            grdOficina.DataBind();

        }


        private void ListaCboVendedor()
        {
            try
            {
                clsTD_VendedorBL clstd_vendedor = new clsTD_VendedorBL();
                cboVendedor.DataSource = clstd_vendedor.ListaVendedor();
                cboVendedor.TextField = "NOMBRE_APELLIDO";
                cboVendedor.ValueField = "ID_VENDEDOR";
                cboVendedor.DataBind();
            }
            catch (DataException e)
            {

                MensajesError(e.Message, e, "ListaCboVendedor");
            }
            catch (RunException re)
            {
                MensajesError(re.Message, re, "ListaCboVendedor");
            }

        }
        private void GuardarExceptionLog(String msgUsu, Exception ex, String metError)
        {
            try
            {
                String msgReal, fhError, pagError, codUsu;
                msgReal = (ex.InnerException != null) ? ex.InnerException.Message : ex.Message;
                pagError = new System.IO.FileInfo(Page.Request.Url.AbsolutePath).Name;
                codUsu = Session["User"].ToString();
                fhError = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");

                System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(ex, true);
                int number = 0;
                for (int i = 0; i < trace.FrameCount; i++)
                {
                    System.Diagnostics.StackFrame sf = trace.GetFrame(i);
                    number = sf.GetFileLineNumber();
                }
                fhError = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
                new Logg().ErrorLog(Server.MapPath("~/Logs/ErrorLog.csv"), msgUsu, msgReal, pagError, metError, codUsu, number);
            }
            catch (Exception e)
            {
                GuardarExceptionLog(e.Message, e, "GuardarExceptionLog");
                MensajesError(e.Message, e, "GuardarExceptionLog");
            }

        }

        private void MensajesError(String msgUsu, Exception ex, String metError)
        {
            Crosland.Automotriz.Web.UserControl.MensajeError uc = (Crosland.Automotriz.Web.UserControl.MensajeError)Master.FindControl("ucErrorMensaje");
            String msgReal, fhError, pagError, codUsu;
            msgReal = (ex.InnerException != null) ? ex.InnerException.Message : ex.Message;
            pagError = new System.IO.FileInfo(Page.Request.Url.AbsolutePath).Name;
            codUsu = Session["User"].ToString();
            fhError = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
            System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(ex, true);
            int number = 0;
            for (int i = 0; i < trace.FrameCount; i++)
            {
                System.Diagnostics.StackFrame sf = trace.GetFrame(i);
                number = sf.GetFileLineNumber();
            }
            uc.Errores(msgUsu, msgReal, fhError, pagError, metError, codUsu, number);
        }

        private void ListarCboOficina()
        {
            try
            {
                clsTd_Oficina_VentaLogic clstd_oficina_venta = new clsTd_Oficina_VentaLogic();
                cboOficina.DataSource = clstd_oficina_venta.lista();
                cboOficina.TextField = "DES_OFI_VTA";
                cboOficina.ValueField = "ID_OFI_VTA";
                cboOficina.DataBind();
            }
            catch (DataException e)
            {

                MensajesError(e.Message, e, "ListarCboOficina");
            }
            catch (RunException re)
            {
                MensajesError(re.Message, re, "ListarCboOficina");
            }


        }


        private string obtenerNroRueda(int idGrupo)
        {
            clsT_Ven_Metas_VendedorLogic BL_NumeroRuedas = new clsT_Ven_Metas_VendedorLogic();

            string nroRueda = "N";
            try
            {
                var q = from v in BL_NumeroRuedas.listaTipoNroRuedas()
                        where v.ID_GRUPO_ARTICULO == idGrupo
                        select v;
                nroRueda = q.ToList()[0].VALUE;
            }
             catch (DataException e)
            {

                MensajesError(e.Message, e, "GuardarExceptionLog");
                   nroRueda = "N";
            }
            catch (RunException re)
            {
                MensajesError(re.Message, re, "GuardarExceptionLog");
                  nroRueda = "N";
            }

            return nroRueda;
        }


        private void agregarVendedor()
        {
            clsT_Ven_Metas_VendedorLogic clst_vendedor = new clsT_Ven_Metas_VendedorLogic();
            T_VEN_METAS_VENDEDOR t_ven_metas_vendedor = new T_VEN_METAS_VENDEDOR();
            bool estado = false;
            try
            {

                t_ven_metas_vendedor.ID_UBIC_VEND_CAB = Convert.ToInt32(Session["ID_UBIC_VEND_CAB"]);
                t_ven_metas_vendedor.ID_VENDEDOR = Convert.ToInt32(cboVendedor.Value);
                t_ven_metas_vendedor.ANIO = Convert.ToString(cboAnio.Value);
                t_ven_metas_vendedor.MES = Convert.ToString(cboMes.Value);
                t_ven_metas_vendedor.ID_GRUPO_ARTICULO = Convert.ToInt32(cboGrupoArticulo.Value);
                t_ven_metas_vendedor.NroRuedas = this.obtenerNroRueda(Convert.ToInt32(cboGrupoArticulo.Value));
                if (Session["indTipoValor"].ToString().ToUpper() == "CANTIDAD")
                { t_ven_metas_vendedor.CANT =txtCantidad.Text==""?0: Convert.ToInt32(txtCantidad.Text);
                }
                else if (Session["indTipoValor"].ToString().ToUpper() == "IMPORTE")
                {
                    t_ven_metas_vendedor.IMP_META = txtCantidad.Text == "" ? 0 : Convert.ToDecimal(txtCantidad.Text);
                    t_ven_metas_vendedor.ID_MONEDA = cboTipoMonedaV.Text == "" ? 0 : Convert.ToInt32(cboTipoMonedaV.Value);
                }
                else {

                    t_ven_metas_vendedor.CANT = txtCantidad.Text == "" ? 0 : Convert.ToInt32(txtCantidad.Text);
                }
          
               
                estado = clst_vendedor.Insertar(t_ven_metas_vendedor);

                if (estado)
                {


                    lblmsj.Text = String.Empty;
                    lblmsj.Text = "Se grabó correctamente ";
                    popupmsj.ShowOnPageLoad = true;
                }
                else
                {
                    lblmsj.Text = String.Empty;
                    lblmsj.Text = "Ya existe el vendedor";
                    popupmsj.ShowOnPageLoad = true;

                }

            }
            catch (DataException e)
            {

                MensajesError(e.Message, e, "agregarVendedor");
            }
            catch (RunException re)
            {
                MensajesError(re.Message, re, "agregarVendedor");
            }

        }

        private void agregarOficina()
        {
            clsT_Ven_Metas_OficinaLogic clst_oficina = new clsT_Ven_Metas_OficinaLogic();
            bool estado = false;
            try
            {
                T_VEN_METAS_OFICINA t_ven_metas_oficina = new T_VEN_METAS_OFICINA();
                t_ven_metas_oficina.ID_UBIC_VEND_CAB = Convert.ToInt32(Session["ID_UBIC_VEND_CAB"]);
                t_ven_metas_oficina.ID_OFI_VTA = Convert.ToInt32(cboOficina.Value);
                t_ven_metas_oficina.ANIO = Convert.ToString(cboAnio.Value);
                t_ven_metas_oficina.MES = Convert.ToString(cboMes.Value);
                t_ven_metas_oficina.ID_GRUPO_ARTICULO = Convert.ToInt32(cboGrupoArticuloOficina.Value);
                t_ven_metas_oficina.NroRuedas = this.obtenerNroRueda(Convert.ToInt32(cboGrupoArticuloOficina.Value));
                if (Session["indTipoValor"].ToString().ToUpper() == "CANTIDAD")
                {
                    t_ven_metas_oficina.CANT = txtCantidadOficina.Text==""?0:Convert.ToInt32(txtCantidadOficina.Text);

                }
                else if (Session["indTipoValor"].ToString().ToUpper() == "IMPORTE")
                {
                    t_ven_metas_oficina.IMP_META = txtCantidadOficina.Text == "" ? 0 : Convert.ToInt32(txtCantidadOficina.Text);
                    t_ven_metas_oficina.ID_MONEDA = cboTipoMonedaO.Text == "" ? 0 : Convert.ToInt32(cboTipoMonedaO.Value);
                }
                else {

                    t_ven_metas_oficina.CANT = txtCantidadOficina.Text == "" ? 0 : Convert.ToInt32(txtCantidadOficina.Text);
                }
               
                t_ven_metas_oficina.ID_CANAL_DISTRIB = Convert.ToInt32(CboCanalDistribrucion.Value);
                estado = clst_oficina.Insertar(t_ven_metas_oficina);


                if (estado)
                {
                    lblmsj.Text = String.Empty;
                    lblmsj.Text = "Se grabó correctamente ";
                    popupmsj.ShowOnPageLoad = true;
                }
                else
                {
                    lblmsj.Text = String.Empty;
                    lblmsj.Text = "Ya existe la oficina en la base de datos";
                    popupmsj.ShowOnPageLoad = true;
                }
            }
            catch (DataException e)
            {
                MensajesError(e.Message, e, "agregarOficina");
            }
            catch (RunException re)
            {
                MensajesError(re.Message, re, "agregarOficina");
            }


        }


        private void ListaGrupoArticulo()
        {

            try
            {
                clsTd_Grupo_ArticuloLogic clsTd_grupo_articulo = new clsTd_Grupo_ArticuloLogic();
                IEnumerable<Object> lista = new List<Object>();
                lista = clsTd_grupo_articulo.lista();
                cboGrupoArticulo.DataSource = lista;
                cboGrupoArticulo.TextField = "DES_GRUPO_ARTICULO";
                cboGrupoArticulo.ValueField = "ID_GRUPO_ARTICULO";
                cboGrupoArticulo.DataBind();

                cboGrupoArticuloOficina.DataSource = lista;
                cboGrupoArticuloOficina.TextField = "DES_GRUPO_ARTICULO";
                cboGrupoArticuloOficina.ValueField = "ID_GRUPO_ARTICULO";
                cboGrupoArticuloOficina.DataBind();
            }
            catch (Exception ex)
            {
                lblmsj.Text = "ERROR: " + ex.Message;
                popupmsj.ShowOnPageLoad = true;
            }


        }

        private void ValidarTipoValorMeta()
        {
            try
            {
                Session["indTipoValor"] = IfacadeMetas.RetorTipoValor(Convert.ToInt32(Session["ID_UBIC_VEND_CAB"])) ?? "";
                if (Session["indTipoValor"].ToString().ToUpper() == "CANTIDAD")
                {
                    grdVendedor.Columns[10].Visible = false;
                    grdOficina.Columns[11].Visible = false;
                    grdVendedor.Columns.RemoveAt(10);
                    grdOficina.Columns.RemoveAt(11);
                    grdVendedor.DataBind();
                    grdOficina.DataBind();
                }
                else if (Session["indTipoValor"].ToString().ToUpper() == "IMPORTE")
                {
                    grdVendedor.Columns[3].Visible = false;
                    grdOficina.Columns[3].Visible = false;
                    grdVendedor.Columns.RemoveAt(3);
                    grdOficina.Columns.RemoveAt(3);
                    grdVendedor.DataBind();
                    grdOficina.DataBind();
                }
                else {

                    grdVendedor.Columns[10].Visible = false;
                    grdOficina.Columns[11].Visible = false;
                    grdVendedor.Columns.RemoveAt(10);
                    grdOficina.Columns.RemoveAt(11);
                    grdVendedor.DataBind();
                    grdOficina.DataBind();
                
                }
            }
            catch (Exception ex)
            {
                lblmsj.Text = "ERROR: " + ex.Message;
                popupmsj.ShowOnPageLoad = true;

            }

        }


        private void EliminarRegistroVendedor()
        {
            try
            {
                T_VEN_METAS_VENDEDOR t_ven_metas_vendedor = new T_VEN_METAS_VENDEDOR();
                t_ven_metas_vendedor.ID_UBIC_VEND_CAB = Convert.ToInt32(grdVendedor.GetRowValues(grdVendedor.FocusedRowIndex, "ID_UBIC_VEND_CAB"));
                t_ven_metas_vendedor.ID_VENDEDOR = (int)grdVendedor.GetRowValues(grdVendedor.FocusedRowIndex, "ID_VENDEDOR");
                t_ven_metas_vendedor.ANIO = (string)grdVendedor.GetRowValues(grdVendedor.FocusedRowIndex, "ANIO");
                t_ven_metas_vendedor.MES = (string)grdVendedor.GetRowValues(grdVendedor.FocusedRowIndex, "MES");
                t_ven_metas_vendedor.ID_GRUPO_ARTICULO = (int)grdVendedor.GetRowValues(grdVendedor.FocusedRowIndex, "ID_GRUPO_ARTICULO");
                if (vendedor.Eliminar(t_ven_metas_vendedor))
                {

                    lblmsj.Text = String.Empty;
                    lblmsj.Text = "Se eliminó correctamente ";
                    popupmsj.ShowOnPageLoad = true;
                }
                else
                {
                    lblmsj.Text = String.Empty;
                    lblmsj.Text = "Este registro no se puede eliminar";
                    popupmsj.ShowOnPageLoad = true;
                }
            }
            catch (Exception ex)
            {

                lblmsj.Text = "ERROR:" + ex.Message;
                popupmsj.ShowOnPageLoad = true;
            }




        }

        private void EliminarRegistroOficina()
        {
            try
            {
                T_VEN_METAS_OFICINA t_ven_metas_oficina = new T_VEN_METAS_OFICINA();
                t_ven_metas_oficina.ID_UBIC_VEND_CAB = Convert.ToInt32(grdOficina.GetRowValues(grdOficina.FocusedRowIndex, "ID_UBIC_VEND_CAB"));
                t_ven_metas_oficina.ID_CANAL_DISTRIB = (int)grdOficina.GetRowValues(grdOficina.FocusedRowIndex, "ID_CANAL_DISTRIB");
                t_ven_metas_oficina.ANIO = (string)grdOficina.GetRowValues(grdOficina.FocusedRowIndex, "ANIO");
                t_ven_metas_oficina.MES = (string)grdOficina.GetRowValues(grdOficina.FocusedRowIndex, "MES");
                t_ven_metas_oficina.ID_GRUPO_ARTICULO = (int)grdOficina.GetRowValues(grdOficina.FocusedRowIndex, "ID_GRUPO_ARTICULO");
                t_ven_metas_oficina.ID_OFI_VTA = (int)grdOficina.GetRowValues(grdOficina.FocusedRowIndex, "ID_OFI_VTA");
                if (oficina.Eliminar(t_ven_metas_oficina))
                {
                    lblmsj.Text = String.Empty;
                    lblmsj.Text = "Se eliminó correctamente ";
                    popupmsj.ShowOnPageLoad = true;
                }
                else
                {
                    lblmsj.Text = String.Empty;
                    lblmsj.Text = "Este registro no se puede eliminar";
                    popupmsj.ShowOnPageLoad = true;
                }
            }
            catch { }

        }

        private void ListaTipoMoneda() {
            clsTd_MonedaLogic cls_moneda = new clsTd_MonedaLogic();
            IEnumerable<Object> lista = new List<Object>();
            lista = cls_moneda.lista();
            cboTipoMonedaO.DataSource = lista; 
            cboTipoMonedaO.TextField = "DES_MONEDA";
            cboTipoMonedaO.ValueField = "ID_MONEDA";
            cboTipoMonedaO.DataBind();
            cboTipoMonedaO.Items[1].Selected = true;


            cboTipoMonedaV.DataSource = lista;
            cboTipoMonedaV.TextField = "DES_MONEDA";
            cboTipoMonedaV.ValueField = "ID_MONEDA";
            cboTipoMonedaV.DataBind();
            cboTipoMonedaV.Items[1].Selected = true;


        
        
        }


        protected void grdVendedor_AfterPerformCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewAfterPerformCallbackEventArgs e)
        {
            this.ListaVendedorAnioMes();
        }


        protected void grdVendedor_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
        {
            int ID_UBIC_VEND_CAB = Convert.ToInt32(grdVendedor.GetRowValues(grdVendedor.FocusedRowIndex, "ID_UBIC_VEND_CAB"));
            int ID_VENDEDOR = (int)grdVendedor.GetRowValues(grdVendedor.FocusedRowIndex, "ID_VENDEDOR");
            string ANIO = (string)grdVendedor.GetRowValues(grdVendedor.FocusedRowIndex, "ANIO");
            string MES = (string)grdVendedor.GetRowValues(grdVendedor.FocusedRowIndex, "MES");
            int ID_GRUPO_ARTICULO = (int)grdVendedor.GetRowValues(grdVendedor.FocusedRowIndex, "ID_GRUPO_ARTICULO");
            if (Session["indTipoValor"].ToString().ToUpper() == "CANTIDAD")
            {
                int cant = Convert.ToInt32(e.NewValues["CANT"]);
                vendedor.Modificar(ID_UBIC_VEND_CAB, ID_VENDEDOR, ANIO, MES, ID_GRUPO_ARTICULO, cant);
                e.Cancel = true;
                grdVendedor.CancelEdit();
                this.ListaVendedorAnioMes();
            }
            else if (Session["indTipoValor"].ToString().ToUpper() == "IMPORTE")
            {
                decimal imp_meta = Convert.ToInt32(e.NewValues["IMP_META"]);
                vendedor.ModificarIMP(ID_UBIC_VEND_CAB, ID_VENDEDOR, ANIO, MES, ID_GRUPO_ARTICULO, imp_meta);
                e.Cancel = true;
                grdVendedor.CancelEdit();
                this.ListaVendedorAnioMes();
            }
            else {
                int cant = Convert.ToInt32(e.NewValues["CANT"]);
                vendedor.Modificar(ID_UBIC_VEND_CAB, ID_VENDEDOR, ANIO, MES, ID_GRUPO_ARTICULO, cant);
                e.Cancel = true;
                grdVendedor.CancelEdit();
                this.ListaVendedorAnioMes();
            
            }    
         

        }


        protected void grdOficina_AfterPerformCallback(object sender, ASPxGridViewAfterPerformCallbackEventArgs e)
        {
            this.ListaOficinaAnioMes();
        }

        protected void btnfiltrar_Click(object sender, EventArgs e)
        {
            if (Session["Vendedor_Oficina"].ToString().ToUpper() == "VENDEDOR") { this.ListaVendedorAnioMes(); } else { this.ListaOficinaAnioMes(); }

        }

        protected void grdOficina_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
        {
            int ID_UBIC_VEND_CAB = Convert.ToInt32(grdOficina.GetRowValues(grdOficina.FocusedRowIndex, "ID_UBIC_VEND_CAB"));
            int ID_CANAL_DISTRIB = (int)grdOficina.GetRowValues(grdOficina.FocusedRowIndex, "ID_CANAL_DISTRIB");
            string ANIO = (string)grdOficina.GetRowValues(grdOficina.FocusedRowIndex, "ANIO");
            string MES = (string)grdOficina.GetRowValues(grdOficina.FocusedRowIndex, "MES");
            int ID_GRUPO_ARTICULO = (int)grdOficina.GetRowValues(grdOficina.FocusedRowIndex, "ID_GRUPO_ARTICULO");
            int ID_OFI_VTA = (int)grdOficina.GetRowValues(grdOficina.FocusedRowIndex, "ID_OFI_VTA");
            if (Session["indTipoValor"].ToString().ToUpper() == "CANTIDAD")
            {
                int cant = Convert.ToInt32(e.NewValues["CANT"]);
                oficina.Modificar(ID_UBIC_VEND_CAB, ID_CANAL_DISTRIB, ID_OFI_VTA, ANIO, MES, ID_GRUPO_ARTICULO, cant);
                e.Cancel = true;
                grdOficina.CancelEdit();
                this.ListaOficinaAnioMes();
            }
            else if (Session["indTipoValor"].ToString().ToUpper() == "IMPORTE")
            {
                decimal imp_meta = Convert.ToInt32(e.NewValues["IMP_META"]);
                oficina.ModificarIMP(ID_UBIC_VEND_CAB, ID_CANAL_DISTRIB, ID_OFI_VTA, ANIO, MES, ID_GRUPO_ARTICULO, imp_meta);
                e.Cancel = true;
                grdOficina.CancelEdit();
                this.ListaOficinaAnioMes();
            }
            else {

                int cant = Convert.ToInt32(e.NewValues["CANT"]);
                oficina.Modificar(ID_UBIC_VEND_CAB, ID_CANAL_DISTRIB, ID_OFI_VTA, ANIO, MES, ID_GRUPO_ARTICULO, cant);
                e.Cancel = true;
                grdOficina.CancelEdit();
                this.ListaOficinaAnioMes();
            }   
           
         
        }

        protected void btnPopAceptar_Click(object sender, EventArgs e)
        {
            this.ValidaOperacionBtnEliminar();
        }


        protected void btnSalir_Click(object sender, EventArgs e)
        {
            Session["indTipoValor"] = null;
            Session["ID_UBIC_VEND_CAB"] = null;
            Session["Vendedor_Oficina"] = null;
            Session["des_meta"] = null;

            string idEstado = Request.QueryString["idEstado"];
            string anio = Request.QueryString["anio"];
            string mes = Request.QueryString["mes"];
            Response.Redirect("~/Repuestos/wFrmRegistroMetasListado.aspx?id=" + idNegocio + "&idEstado=" + idEstado + "&anio=" + anio + "&mes=" + mes);
        }

        protected void btnAgregarVendedor_Click(object sender, EventArgs e)
        {
            this.agregarVendedor();
        }

        protected void btnAgregarOficina_Click(object sender, EventArgs e)
        {
            this.agregarOficina();
        }

        protected void btnNuevo_Click(object sender, EventArgs e)
        {
            this.ValidOperacionBtnNuevo();
        }

        protected void btnEliminar_Click(object sender, EventArgs e)
        {
            PopupConfirmacion.ShowOnPageLoad = true;
        }

    }
}